package Frame;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;

import javax.swing.JDialog;
import javax.swing.JPanel;

import Function.FCCharacterLibrary;

/**
 * 人物信息查看列表窗口
 */
public class FCCharacterTable extends JDialog {

	private int width;
	private int height;

	/**
	 * 创建新窗体
	 * 
	 * @param characterLib
	 */
	public <T> FCCharacterTable(FCCharacterLibrary characterLib) {
		// 设置窗体坐标位置
		setBounds(0, 0, 600, 800);
		// 设置尺寸
		this.width = getWidth();
		this.height = getHeight();
		// 屏幕组件的格式布局
		setLayout(null);
		// 设置窗体相对于指定组件的位置
		setLocationRelativeTo(null);
		// 设置此窗体不可由用户调整大小
		setResizable(false);
		// 指定对话框为模式对话框，对话框销毁前不可进行其他操作
		setModal(true);
		// 设置窗体的标题
		setTitle("人物列表");

		// 自制一个表格
		JPanel jPanel = new JPanel() {
			private Color color = new Color(220, 220, 220);
			private Font font1 = new Font("黑体", 0, 15);
			private Font font2 = new Font("黑体", 0, 13);

			@Override
			protected void paintComponent(Graphics g) {
				// 表头
				g.setColor(color);
				g.fillRect(0, 0, width, 16);
				g.setColor(Color.black);
				g.setFont(font1);
				g.drawString("ID", 10, 14);
				g.drawString("描述", 210, 14);
				g.drawLine(200, 0, 200, 16);
				g.drawLine(0, 16, width, 16);
				g.setFont(font2);

				// 30 + 16 * i
				for (int i = 0; i < characterLib.getCharacterNum(); i++) {
//					g.drawString(characterLib.getCharacterNameOfID(i), 5, 30 + 16 * i);
//					g.drawString(characterLib.getCharacterInfoOfID(i), 210, 30 + 16 * i);
					g.drawLine(0, 32 + 16 * i, width, 32 + 16 * i);
					g.drawLine(200, 16 + 16 * i, 200, 32 + 16 * i);
				}
			}
		};// 表格结束

		// 设置表格的位置和尺寸
		jPanel.setBounds(0, 0, getWidth(), getHeight());
		this.add(jPanel);

		// 窗体为可见
		setVisible(true);
	}
}
